
package pms.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import pms.dao.BewDatDao;


/** 
 * Controller to generate the Home Page basics to be rendered by a view. 
 * It extends the convenience class AbstractController that encapsulates most 
 * of the drudgery involved in handling HTTP requests. 
 * 
 * This class is a super type of SaveBewDat and StopBewDat. If is used as a next view
 * after successfully executing those controllers.
 * @author josef@dr-schneeberger.de
 */
public class AlleBewDat extends AbstractController {
	private BewDatDao bewdatDao;
	private boolean beende;
	private boolean erkannt = true ;
	private int raumId ;

	public void setFahrtDao(BewDatDao bewdatDao) {
		this.bewdatDao = bewdatDao;
	}

	public BewDatDao getbewdatDao() {
		return bewdatDao;
	}

	public void setBeende(boolean beende) {
		this.beende = beende;
	}
	public void setErkannt(boolean erkannt, int raumID){
		this.erkannt = erkannt ;
		this.raumId = raumID ;
	}

	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		ModelAndView mv = new ModelAndView();
		mv.addObject("title", "Liste der aktuellen Raumbelegungen");
		if (beende) {
			mv.addObject("message", "Klicken Sie auf einen Raum, um die Personen ab zu melden.");
			mv.addObject("bewdaten", bewdatDao.findNichtBeendetDTO());
		} else {
			mv.addObject("message", "Alle Personen, Ein- und Aus -gelogged.");
			mv.addObject("bewdaten", bewdatDao.findAllDTO());
		}
		if (erkannt){
			mv.setViewName("list-bewdaten");
		} else {
			mv.addObject("raumId", this.raumId) ;
			mv.setViewName("nichtErkannt"); }
		return mv;
	}

}

